Skip Headers

Oracle® Database Platform Guide 10g Release 2 (10.2) for Microsoft Windows (x64) Part Number B15688-02 |
Home | Book List | Contents | Master Index | Feedback

Previous | Next
| View PDF

Beta Draft

# 12 Using Oracle Database with Microsoft Active Directory

This chapter describes how to configure and use Microsoft Active Directory as the LDAP directory.

This chapter contains these topics:

- Microsoft Active Directory Support

- Oracle Components That Integrate with Active Directory

- Requirements for Using Oracle Database with Active Directory

- Configuring Oracle Database to Use Active Directory

- Testing Connectivity

- Access Control List Management for Oracle Directory Objects

## 12.1 Microsoft Active Directory Support

This section describes how Microsoft Active Directory is used as an LDAP directory server by Oracle Database.

This section contains these topics:

- About Microsoft Active Directory

- Accessing Active Directory

### 12.1.1 About Microsoft Active Directory

Active Directory is the LDAP-compliant directory server included with Windows 2000. Active Directory stores all Windows 2000 information, including users, groups, and policies. Active Directory also stores information about network resources (such as databases) and makes this information available to application users and network administrators. Active Directory enables users to access network resources with a single login. The scope of Active Directory can range from storing all the resources of a small computer network to storing all the resources of several wide areas networks (WANs).

### 12.1.2 Accessing Active Directory

When using Oracle features that support Active Directory, ensure that the Active Directory computer can be successfully reached using all possible TCP/IP hostname forms to reach the domain controller. For example, if the hostname of the domain controller is `server1` in the domain `acme.com`, then ensure that you can ping that computer using all of the following:

- `server1.acme.com`

- `acme.com`

- `server1`

Active Directory often issues referrals back to itself in one or more of these forms, depending upon the operation being performed. If any of the forms cannot reach the Active Directory computer, then some LDAP operations may fail.

## 12.2 Oracle Components That Integrate with Active Directory

The following Oracle Database features support or have been specifically designed to integrate with Active Directory:

- Directory Naming

- Automatic Discovery of Directory Servers

- Integration with Windows Tools

- User Interface Extensions for Oracle Net Directory Naming

- Enhancement of Directory Object Type Descriptions

- Integration with Windows Login Credentials

- Oracle Directory Objects in Active Directory

### 12.2.1 Directory Naming

Oracle Database provides Oracle Net Services directory naming, which makes use of a directory server. This feature has been enabled to work with Microsoft Active Directory. Directory Naming enables clients to connect to the database making use of information stored centrally in an LDAP-compliant directory server such as Active Directory. For example, any net service name previously stored in the `tnsnames.ora` file can now be stored in Active Directory.

### 12.2.2 Automatic Discovery of Directory Servers

Oracle Net Configuration Assistant provides automatic discovery of directory servers. When you select Active Directory as the directory server type, Oracle Net Configuration Assistant automatically discovers the directory server location and performs related tasks.

See Also: "Configuring Oracle Database to Use Active Directory" for more information on Active Directory configuration

### 12.2.3 Integration with Windows Tools

Oracle Database services, net service names, and enterprise role entries in Active Directory can be displayed and tested in two Windows tools:

- Windows Explorer

- Active Directory Users and Computers

Windows Explorer displays the hierarchical structure of files, directories, and local and network drives on your computer. It can display and test Oracle Database service and net service name objects.

Active Directory Users and Computers is an administrative tool installed on Windows servers configured as domain controllers. This tool enables you to add, modify, delete, and organize Windows 2000 accounts and groups, and publish resources in the directory of your organization. Like Windows Explorer, it can display and test Oracle Database service and net service name objects. Additionally, it can manage access control.

See Also: "Testing Connectivity from Microsoft Tools" "Access Control List Management for Oracle Directory Objects"

### 12.2.4 User Interface Extensions for Oracle Net Directory Naming

The property menus of Oracle Database service and net service name objects in Windows Explorer and Active Directory Users and Computers have been enhanced. When you right-click these Oracle directory objects, you now see two new options for testing connectivity:

- Test

- Connect with SQL*Plus

The Test option tests whether the username, password, and net service name you initially entered can actually connect to Oracle Database. The Connect with SQL*Plus option starts SQL*Plus, which enables you to perform database administration, run scripts, and so on.

See Also: "Testing Connectivity from Microsoft Tools"

### 12.2.5 Enhancement of Directory Object Type Descriptions

Oracle directory object type descriptions in Active Directory have been enhanced to make them easier to understand. In the right pane of Figure 12-1, for example, the Type column reveals that `sales` is an Oracle Net Service name.

### 12.2.6 Integration with Windows Login Credentials

Oracle database and configuration tools can use the login credentials of the Windows user currently logged on to connect to Active Directory without having to re-enter the login credentials. This feature has two benefits:

- Oracle clients and databases can securely connect to Active Directory and retrieve the net service name.

- Oracle configuration tools can connect automatically to Active Directory and configure Oracle Database and net service name objects. The enabled tools include Oracle Net Configuration Assistant and Database Configuration Assistant.

### 12.2.7 Oracle Directory Objects in Active Directory

If Oracle Database and Oracle Net Services are installed and configured to access Active Directory, then Active Directory Users and Computers displays Oracle directory objects, as illustrated in Figure 12-1:

Figure 12-1 Oracle Directory Objects in Active Directory Users and Computers

Description of "Figure 12-1 Oracle Directory Objects in Active Directory Users and Computers"

Table 12-1 describes the Oracle directory objects appearing in Figure 12-1.

Table 12-1 Oracle Directory Objects

Object | Description
--- | ---
`oranet.dev` | The domain in which you created your Oracle Context. This domain (also known as the administrative context) contains various Oracle entries to support directory naming. Oracle Net Configuration Assistant automatically discovers this information during Oracle Database integration with Active Directory.
`OracleContext` | The top-level Oracle entry in the Active Directory tree. It contains Oracle Database service and net service name object information. All Oracle software information is placed in this folder.
`orcl` | The Oracle Database service name used in this example.
`Products` | Folder for Oracle product information.
`sales` | The net service name object used in this example.
`Users` | Folder for the Oracle security groups. See "Access Control List Management for Oracle Directory Objects" for more information. Enterprise users and roles created with Oracle Enterprise Security Manager also appear in this folder.

## 12.3 Requirements for Using Oracle Database with Active Directory

To use Net Directory Naming with Active Directory, you must have certain Microsoft and Oracle software releases, and you must create Oracle schema objects and an Oracle Context. These requirements are discussed in the following sections:

- Directory Naming Software Requirements

- Oracle Schema Objects Creation

- Oracle Context Creation

Note: The Oracle schema objects and Oracle Context can both be created by running Oracle Net Configuration Assistant. Regardless of the Oracle Database Client and Oracle Database releases you are using, you must be running in a Windows 2000 domain to integrate Net Directory Naming with Active Directory.

### 12.3.1 Directory Naming Software Requirements

For client computers from which you want to manage Oracle Database enterprise users, roles and domains, you must have Oracle8i Client release 8.1.6 or later and one of the following Microsoft products:

- Windows XP

- Windows 2000

- Windows Server 2003

For the database, you must have Oracle8i Database release 8.1.6 or later. This is required for registering the database service as an object in Active Directory. The database can use any of the following Microsoft products:

- Windows 2000

- Windows Server 2003

Both the client computers and the database must be members of a Windows 2000 domain.

### 12.3.2 Oracle Schema Objects Creation

You must create Oracle schema objects to use net directory naming features with Active Directory. Schema objects are sets of rules for Oracle Net Services and Oracle Database entries and their attributes stored in Active Directory. The following restrictions apply to creating Oracle schema objects to use with Active Directory:

- Only one Oracle schema object can be created for each forest.

- The Windows 2000 domain controller must be the operations master that allows schema updates. See your operating system documentation for instructions.

To create an Oracle schema object:

1. Log in as a member of the Schema Administrator group. Domain administrators are in the Schema Administrator group by default.

2. Use Oracle Net Configuration Assistant to create the Oracle schema object. You can create your schema object during or after database installation.

If the Active Directory display is not configured to accept all 24 default languages, then Oracle schema object creation can fail while Oracle Net Configuration Assistant is configuring Active Directory as the directory server. Before running Oracle Net Configuration Assistant to complete directory access configuration, verify that the display specifiers for all 24 languages are populated by entering the following at the command prompt:

    ldifde -p OneLevel -d cn=DisplaySpecifiers,cn=Configuration,domain context -f
    temp file

where:

- `domain` `context` is the domain context for this Active Directory server.

  For example, `dc=acme`,`dc=com`.

- `temp` `file` is a file where you want to put the output.

If the command reports that fewer than 24 entries were found, then you can still use Oracle Net Configuration Assistant. However, the report will indicate that Oracle schema object creation failed, rather than simply reporting that display specifiers for some languages were not created.

Display Specifiers Not Created

When Net Configuration Assistant creates the Oracle schema object in Active Directory, the display specifiers for Oracle entries are not created. This means you cannot view Oracle database entries in Active Directory interfaces.

You can manually add these entries into Active Directory after the Oracle schema object has been created by doing the following, using the same Windows user identification you used when creating the Oracle schema object with Net Configuration Assistant:

1. Open a command shell.

2. Change directory to `ORACLE_HOME``\ldap\schema\ad`.

3. Copy `adDisplaySpecifiers_us.sbs` to `adDisplaySpecifiers_us.ldif`.

4. Copy `adDisplaySpecifiers_other.sbs` to `adDisplaySpecifiers_other.ldif`.

5. Edit each of these `.ldif` files, replacing all occurrences of `%s_AdDomainDN%` with the domain DN for the specific Active Directory into which you want to load the display specifiers (for example, `dc=acme,dc=com`).

6. Run the following commands:

       ldapmodify -h <ad hostname> -Z -f adDisplaySpecifiers_us.ldif
       ldapmodify -h <ad hostname> -Z -f adDisplaySpecifiers_other.ldif

   where `<ad hostname>` is the hostname of the Active Directory domain controller to which you want to load the display specifiers.

See Also: "Automatic Discovery of Directory Servers"

### 12.3.3 Oracle Context Creation

You must create an Oracle Context to use net directory naming features with Active Directory. Oracle Context is the top-level Oracle entry in the Active Directory tree. It contains Oracle Database service and Oracle Net service name object information.

- You can create only one Oracle Context for each Windows 2000 domain (administrative context).

- You must have the right to create domain and enterprise objects in order to create the Oracle Context in Active Directory with Oracle Net Configuration Assistant.

- Use Oracle Net Configuration Assistant to create your Oracle Context. You can create the Oracle Context during or after Oracle Database Custom installation.

See Also: Oracle Database Installation Guide for Microsoft Windows (x64) for installation procedures Oracle Database Net Services Administrator's Guide for configuration procedures

## 12.4 Configuring Oracle Database to Use Active Directory

Oracle Net Configuration Assistant enables you to configure client computers and Oracle Database to access a directory server. When you choose directory access configuration from Oracle Net Configuration Assistant, it then prompts you to specify a directory server type to use. When you select Active Directory as the directory server type, the Automatic Discovery of Directory Servers feature of Oracle Net Configuration Assistant automatically:

- Discovers the Active Directory server location

- Configures access to the Active Directory server

- Creates the Oracle context (also known as your domain)

If the Active Directory server already has an Oracle Context, then select the following nondefault radio button:

- Select the directory server you want to use, and configure the directory server for Oracle usage. (Create or upgrade Oracle schema objects and Oracle Context as necessary.)

Oracle Net Configuration Assistant will report that the Oracle Context does not exist. Ignore this and choose to create the Oracle Context anyway. Directory access configuration will complete without trying to re-create the existing Oracle Context.

Note: Regardless of the Oracle Database Client and Oracle Database releases you are using, you must be running in a Windows 2000 domain to take advantage of the automatic directory server discovery features of Oracle Net Configuration Assistant. If you are not running in a Windows 2000 domain, then Oracle Net Configuration Assistant does not automatically discover your directory server, and instead prompts you for additional information, such as the Active Directory location.

See Also: "Oracle Schema Objects Creation" for information about possible failures during configuration "Requirements for Using Oracle Database with Active Directory" "Automatic Discovery of Directory Servers" Oracle Database Net Services Administrator's Guide for configuration procedures

## 12.5 Testing Connectivity

This section describes how to connect to an Oracle Database server through Active Directory.

This section contains these topics:

- Testing Connectivity from Client Computers

- Testing Connectivity from Microsoft Tools

### 12.5.1 Testing Connectivity from Client Computers

When using Oracle Net directory naming, client computers connect to a database by specifying the database or net service name entry that appears in the Oracle Context. For example, if the database entry under the Oracle Context in Active Directory is `orcl`, and the client and the database are in the same domain, then a user connects to the database through SQL*Plus by entering the following connect string:

    SQL> CONNECT username/password@orcl

If the client and the database are in different domains, then a user connects to the database through SQL*Plus by entering:

    SQL> CONNECT username/password@orcl.domain

where `domain` is the domain in which the Oracle Database server is located.

These connect strings follow DNS-style conventions. While Active Directory also supports connections using X.500 naming conventions, Oracle recommends DNS-style conventions because they are easier to use.

DNS-style conventions enable client users to access an Oracle Database server through a directory server by entering minimal connection information, even when the client computer and Oracle Database server are in separate domains. Names following the X.500 convention are longer, especially when the client and Oracle Database server are located in different domains (also known as administrative contexts).

See Also: "Configuration Management Concepts" in Oracle Database Net Services Administrator's Guide for more information about X.500 naming conventions "Unlocking and Changing Passwords" in Oracle Database Installation Guide for Microsoft Windows (x64)

### 12.5.2 Testing Connectivity from Microsoft Tools

Oracle directory objects in Active Directory are integrated with two Microsoft tools:

- Windows Explorer

- Active Directory Users and Computers

You can test connectivity to an Oracle Database server from within these Microsoft tools by actually connecting to it, or you can just test the connection with actually connecting. To test connectivity:

1. Start Windows Explorer or Active Directory Users and Computers.

   To start Windows Explorer:

   1. Choose Start > Programs > Accessories > Windows Explorer.

   2. Expand My Network Places.

   3. Expand Entire Network.

   4. Expand Directory.

   To start Active Directory Users and Computers:

   Choose Start > Programs > Administrative Tools > Active Directory Users and Computers.

   Note: All clients accessing an Oracle Database server through Active Directory require read access on all net service name objects in the Oracle Context and must be able to authenticate anonymously with Active Directory. Oracle Net Configuration Assistant automatically sets this up.

2. Expand the domain in which your Oracle Context is located.

3. Expand your Oracle Context.

4. Right-click a database service or Oracle Net Service name object.

   A menu appears with several options. This section covers only the Test and Connect with SQL*Plus options.

   Description of the illustration adtest.gif

5. If you want to test the database connection without actually connecting to it, then choose Test. A status message appears describing the status of your connection attempt.

   Description of the illustration adtstcon.gif

6. If you want to test the database connection by actually connecting to it, then choose Connect with SQL*Plus. The Oracle SQL*Plus Logon dialog appears.

   Description of the illustration adsqlpls.gif

7. Enter your username and password, then click OK. A status message appears describing the status of your connection attempt.

## 12.6 Access Control List Management for Oracle Directory Objects

This section identifies security groups specific to Oracle directory objects within Active Directory and explains how to add and delete security group members.

This section contains these topics:

- Security Groups

- Adding and Deleting Security Group Members

### 12.6.1 Security Groups

Security groups are automatically created when the Oracle Context is created in Active Directory. The user configuring access (and thus creating the Oracle Context) is automatically added to each group. The relevant groups are:

- OracleDBCreators

- OracleNetAdmins

#### 12.6.1.1 OracleDBCreators

The `OracleDBCreators` group is for the person registering the Oracle Database server. The domain administrator is automatically a member of this group. Users in this group can:

- Create new Oracle Database objects in the Oracle Context.

- Modify the Oracle Database objects that they create.

- Read, but not modify, the membership for this group.

#### 12.6.1.2 OracleNetAdmins

Users in the `OracleNetAdmins` group can:

- Create, modify, and read Oracle Net Services objects and attributes.

- Read the group membership of this group.

### 12.6.2 Adding and Deleting Security Group Members

You can add or remove users in the security groups with Active Directory Users and Computers.

Note: Use Active Directory Users and Computers to perform the procedures described in this section. Windows Explorer does not provide the necessary functionality.

To add or remove users:

1. Choose Start > Programs > Administrative Tools > Active Directory Users and Computers.

2. Choose Advanced Features from the View main menu.

   This enables you to view and edit information that is normally hidden.

3. Expand the domain (administrative context) in which your Oracle Context is located.

4. Expand Users.

   The security groups appear in the right window pane.

   Description of the illustration adsecgrp.gif

5. Right-click the Oracle security group that you want to view or modify.

   A menu appears with several options.

6. Choose Properties.

7. Choose the Members tab.

   The Properties dialog for the group you selected appears (in this example, `OracleDBCreators`).

   Description of the illustration admembrs.gif

8. To add users, click Add.

   The Select Users, Contacts, Computers, or Groups dialog appears.

9. Select the users or groups you want to add and click Add.

   Your selections appear in the Select Users, Contacts, Computers, or Groups dialog.

10. To remove a user, select the user name from the Members list and click Remove.

11. When you are finished adding and removing users, click OK.